//
//  RequestManager.m
//  Leisure
//
//  Created by 大展 on 16/6/28.
//  Copyright © 2016年 大展. All rights reserved.
//

#import "RequestManager.h"

@implementation RequestManager

// 请求数据，根据类型会自动识别请求方式
+(void)fecthDataWithUrl:(NSString *)url parameter:(NSDictionary *)parameter mehtod:(NSString *)method compelet:(ReauqestCompeleted)compele updateUI:(UpdateUI)update {

    // 创建请求对象，并设置请求对象的属性
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];

    // 创建一个子线程
    dispatch_async(dispatch_get_global_queue(0, 0), ^{
        if ([method isEqualToString:@"GET"]) {

            [manager GET:url parameters:parameter progress:^(NSProgress * _Nonnull downloadProgress) {

            } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

                // 把Data传出去
                compele((NSData *)responseObject);
                // 回到主线程
                dispatch_async(dispatch_get_main_queue(), ^{
                    // 刷新UI
                    update();
                });
            } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

            }];

        }else {

            [manager POST:url parameters:parameter progress:^(NSProgress * _Nonnull uploadProgress) {

            } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

                // 把Data传出去
                compele((NSData *)responseObject);
                // 回到主线程
                dispatch_async(dispatch_get_main_queue(), ^{
                    // 刷新UI
                    update();
                });
            } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

            }];
        }
    });


}





@end
